package cn.tedu.luban.demand.main.controller;

import cn.tedu.luban.demand.main.converter.DemandConverter;
import cn.tedu.luban.demand.main.service.DemandService;
import cn.tedu.luban.demand.protocol.VO.RequestOrderListItemVO;
import cn.tedu.luban.demand.protocol.bo.RequestOrderBO;
import cn.tedu.luban.demand.protocol.query.RequestOrderQuery;
import com.tedu.inn.protocol.ListRecordTotalBO;
import com.tedu.inn.protocol.model.Result;
import com.tedu.inn.protocol.pager.PagerResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Slf4j
public class DemandController {

    @Autowired
    DemandService demandService;
    @Autowired
    DemandConverter demandConverter;


    @PostMapping("/demand/order/search")
    public Result<PagerResult<RequestOrderListItemVO>> searchRequestOrders(
            @RequestBody RequestOrderQuery query
    ){
        // 分页查询 必要属性(5个):
        // pageNo-页数 pageSize-条数 list-数据 total-总行数 LastIndexPage-总页数
        ListRecordTotalBO<RequestOrderBO> bos
                = demandService.searchRequestOrders(query);

        // 转换器转换
        PagerResult<RequestOrderListItemVO> pagerResult
                = demandConverter.assemblePagerResult(bos, query);

        return new Result<>(pagerResult);
    }

}














